// #ifdef H5 
const baseUrl = 'http://localhost:8888/api'; //浏览器
// #endif

// #ifdef MP-WEIXIN
const baseUrl = 'http://192.168.42.13:8888/api'; //微信小程序  192.168.42.13
// #endif

const json2url = (json) => {
	//json {a:1,b:2,c:3};
	let arr = [];
	for (let key in json) { //key a b c   json[key]  1 2 3
		arr.push(key + '=' + json[key]) //a=1
	}
	//arr ['a=1','b=2','c=3']
	return arr.join('&') //a=1&b=2&c=3
}
const http = (options) => {
	if (!options.url) {
		console.log('必须要有地址才行')
		return;
	}
	// javascript 中 || ，前一个值为false，则不管后面是啥都返回后面的值，前一个值为true，则不管后面是啥都返回前面的值
	/**
	 * undefined（未定义，找不到值时出现）
		2、null（代表空值）

		3、false（布尔值的false，字符串"false"布尔值为true）

		4、0（数字0，字符串"0"布尔值为true）

		5、NaN（无法计算结果时出现，表示"非数值"；但是typeof NaN===“number”）

		6、""（双引号）或’’（单引号） （空字符串，中间有空格时也是true）
	 */
	let method = options.method || 'get';
	let data = options.data || {};
	let params = options.params || {};
	let header = options.header || {}

	let json = {
		url: baseUrl + options.url + '?' + json2url(params),
		method, //键与值相同
		data
	}
	if (options.success) {
		json.success = options.success;
	}
	if (options.fail) {
		json.fail = options.fail;
	}

	uni.request(json)
}

export default http;

/* 
http({
	url:'/login',
	method:'get|post'  //get是默认
	data:{},
	params:{}, //这个数据放在地址里面
	success:()=>{},
	fail:()=>{}
}) 
 */